#include <string.h>
#include "babl.h"
+#include "base/util.h"
#define MIN(a,b) (a > b) ? b : a;
#define MAX(a,b) (a < b) ? b : a;
while (n--)
{
- double red = ((double *) src)[0];
- double green = ((double *) src)[1];
- double blue = ((double *) src)[2];
+ double red = linear_to_gamma_2_2 (((double *) src)[0]);
+ double green = linear_to_gamma_2_2 (((double *) src)[1]);
+ double blue = linear_to_gamma_2_2 (((double *) src)[2]);
double alpha = ((double *) src)[3];
double hue, saturation, value;
green += min;
blue += min;
- ((double *) dst)[0] = red;
- ((double *) dst)[1] = green;
- ((double *) dst)[2] = blue;
+ ((double *) dst)[0] = gamma_2_2_to_linear (red);
+ ((double *) dst)[1] = gamma_2_2_to_linear (green);
+ ((double *) dst)[2] = gamma_2_2_to_linear (blue);
((double *) dst)[3] = alpha;
src += 4 * sizeof (double);
{
int OK = 1;
- float rgba[][4] = {{ 1.0, 1.0, 1.0, 1.0 },
- { 0.5, 0.5, 0.5, 1.0 },
- { 0.0, 0.0, 0.0, 1.0 },
- { 1.0, 0.0, 0.0, 1.0 },
- { 0.749, 0.75, 0.0, 1.0 },
- { 0.0, 0.5, 0.0, 1.0 },
- { 0.5, 1.0, 1.0, 1.0 },
- { 0.5, 0.5, 1.0, 1.0 },
- { 0.75, 0.25, 0.75, 1.0 },
- { 0.627, 0.643, 0.142, 1.0 },
- { 0.256, 0.104, 0.918, 1.0 },
- { 0.116, 0.675, 0.255, 1.0 },
- { 0.941, 0.783, 0.053, 1.0 },
- { 0.704, 0.187, 0.897, 1.0 },
- { 0.931, 0.463, 0.316, 1.0 },
- { 0.998, 0.974, 0.532, 1.0 },
- { 0.099, 0.795, 0.591, 1.0 },
- { 0.211, 0.149, 0.597, 1.0 }};
+ float rgba[][4] = {{ 1.0, 1.0, 1.0, 1.0 },
+ { 0.2140, 0.2140, 0.2140, 1.0 },
+ { 0, 0, 0, 1.0 },
+ { 1, 0, 0, 1.0 },
+ { 0.5209, 0.5225, 0, 1.0 },
+ { 0, 0.2140, 0, 1.0 },
+ { 0.2140, 1, 1, 1.0 },
+ { 0.2140, 0.2140, 1, 1.0 },
+ { 0.5215, 0.0508, 0.5225, 1.0 },
+ { 0.3509, 0.3710, 0.0178, 1.0 },
+ { 0.0533, 0.0106, 0.8235, 1.0 },
+ { 0.0126, 0.4132, 0.0529, 1.0 },
+ { 0.8709, 0.5754, 0.0042, 1.0 },
+ { 0.4537, 0.0291, 0.7814, 1.0 },
+ { 0.8501, 0.1813, 0.0814, 1.0 },
+ { 0.9954, 0.9418, 0.2448, 1.0 },
+ { 0.0099, 0.5953, 0.3081, 1.0 },
+ { 0.0366, 0.0193, 0.3150, 1.0 }};
float hsva[][4] = {{ 0.0, 0.0, 1.0, 1.0 },
{ 0.0, 0.0, 0.5, 1.0 },